PM3.6 - Donkey Kong - Common Subroutine 0x223e8

  1. CreateInterrupt { interrupt_id: Some(10112), action: ThrowItem, requirement: (HoldingItem) }
  2. PreviousInterruptAddRequirement(not(HoldingItemOfType value(4194304)))
  3. PreviousInterruptAddRequirement(ButtonPress value(0))
  4. PreviousInterruptAddRequirement(OnGround)
  5. if ((InternalConstantInt(CurrentAction) Equal scalar(26)))
    1. if ((InternalConstantInt(PreviousAction) Equal scalar(4)))
      1. Subroutine(0x9019cc38)
  6. CreateInterrupt { interrupt_id: Some(10037), action: EscapeN, requirement: ((InternalConstantInt(ControlStickYAxis) LessThanOrEqual InternalConstantInt (0xc4c))) }
  7. PreviousInterruptAddRequirement((InternalConstantInt (0x520a) LessThan InternalConstantInt (0x59fd)))
  8. PreviousInterruptAddRequirement(OnGround)
  9. CreateInterrupt { interrupt_id: Some(10038), action: EscapeF, requirement: ((InternalConstantInt(ControlStickXAxisRelative) GreaterThanOrEqual InternalConstantInt (0xc4d))) }
  10. PreviousInterruptAddRequirement((InternalConstantInt (0x5209) LessThan InternalConstantInt (0x59fe)))
  11. PreviousInterruptAddRequirement(OnGround)
  12. CreateInterrupt { interrupt_id: Some(10039), action: EscapeB, requirement: ((InternalConstantInt(ControlStickXAxisRelativeReverse) GreaterThanOrEqual InternalConstantInt (0xc4d))) }
  13. PreviousInterruptAddRequirement((InternalConstantInt (0x5209) LessThan InternalConstantInt (0x59fe)))
  14. PreviousInterruptAddRequirement(OnGround)
  15. if ((InternalConstantInt(CurrentAction) Equal scalar(26)))
    1. if ((InternalConstantInt(PreviousAction) Equal scalar(4)))
      1. Subroutine(0x9019cc10)
      2. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 23081 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 2 })] }
  16. Subroutine(0x9019cb58)
  17. CreateInterrupt { interrupt_id: Some(10043), action: JumpSquat, requirement: (ButtonPress value(2)) }
  18. PreviousInterruptAddRequirement(OnGround)
  19. CreateInterrupt { interrupt_id: Some(10042), action: JumpSquat, requirement: ((InternalConstantInt(ControlStickYAxis) GreaterThanOrEqual InternalConstantInt (0xc42))) }
  20. PreviousInterruptAddRequirement((InternalConstantInt (0x520a) LessThan InternalConstantInt (0x59fb)))
  21. PreviousInterruptAddRequirement(TapJumpOn)
  22. PreviousInterruptAddRequirement(OnGround)
  23. CreateInterrupt { interrupt_id: None, action: Pass, requirement: ((InternalConstantInt(ControlStickYAxis) LessThanOrEqual InternalConstantInt (0xc73))) }
  24. PreviousInterruptAddRequirement((InternalConstantInt (0x520a) LessThan InternalConstantInt (0x5a06)))
  25. PreviousInterruptAddRequirement(OnAPassableFloor)